The invention is useful in Fibre Channel Arbitrated Loop (hereafter FCAL) or other computer network or telephony network management systems to, in the preferred embodiment, reduce the cost of ownership and provide a simple, lightweight, out-of-band (or in-band) network management protocol which is SNMP compatible and which has integrated, unilateral device/topology discovery using a synchronous command protocol.
FCAL is a form of computer network which is popular in high speed, high volume networks. The networks are comprised of one or more hubs and a plurality of nodes such as computers, printers, disk drive arrays etc. Like all computer networks, the nodes on the network are coupled together by a data path and the number and arrangement of nodes on the network can change over time.
Computer networks must be managed. Data must be obtained from the various nodes such as traffic levels, temperature etc. and various conditions must be set in the network to open ports, shut ports down etc. The various registers, ports, sensors etc. in a network are the objects to be managed. Typical network objects are enclosure temperature, port status (fault, bypass etc.), power supply status, fan status, traffic level etc. The temperature and fan status are important objects in high speed hubs since the hub will fail shortly after its temperature gets too high or its fan stops working.
SNMP, or Synchronous Network Management Protocol is an industry standard protocol enabling management of networks. SNMP protocol provides an industry standard way of performing get and set operations. Each of the objects to be managed in the various nodes has an object ID. Get operations cause data to be obtained from the object identified in the object ID (hereafter OID) in the get command. Set operations cause data to be written to the object defined by the object ID given in the set command.
Network management station (hereafter NMS) software that provides an interface to a network management employee and allows him or her to manage the network by issuing get and set commands is known in the art. There are many software programs available commercially that provide SNMP compatible network management services. These programs reside on a computer coupled to the network and can either communicate with the nodes in the network directly or through so-called proxy agents. Originally NMS SNMP software was designed to talk to a single device on the network. As networks grew in size, various solutions to this problem surfaced. Proxy agents were one of these solutions. An example of a prior art NMS software package is Open View™.
Proxy agents are known and are a way of reducing the amount of software and licenses that are needed for the nodes on the system. If a network is arranged so that NMS SNMP management software manages the network by communicating directly with the nodes in the network, more software are needed than if a proxy agent is used. NMS software typically communicates with the objects in the network by encapsulating SNMP packets inside Ethernet packets and sending the Ethernet packets to the nodes on the network which contain the objects from which data is needed or to which data is to be written. NMS software can use other protocols than SNMP and Ethernet. To manage a network in this way requires that each node have an Ethernet interface card and a software driver for that card plus UDP/IP layer software to understand the IP packet address header and SNMP layer software to understand the get and set commands, decode the OIDs and carry out the desired functions. This requires an SNMP license for every node plus the expense of the UDP/IP layer plus the expense of the Ethernet software and hardware at the physical layer. Proxy agents cut down on this expense by incorporating the Ethernet driver and interface card and the UDP/IP and SNMP layer software therein to receive SNMP commands from the NMS software. The proxy agent then uses its own less complicated communication protocol to communicate with the other nodes in the system in a master-slave relationship to carry out the get and set commands. An example of a prior art proxy agent software program is the proxy agent available commercially from ISI or the VX Works™ package available commercially from Wind Works.
A MIB is an abstract definition document containing data that is used by the NMS software and the proxy agent to learn the network objects available in a particular network that can be managed. The function of the MIB is to define the objects in the nodes that are available for management (sometimes called “exposing” them) to the NMS software and the proxy agent. MIBs are written in custom fashion for each network to define the objects in the network to be served by the hubs in the network to the NMS software. The MIB defines the syntax that the NMS software should use to ask for data from an object or set data into the object. The MIB defines the OIDs of the objects in the network so that the NMS can do gets and sets to these OIDs and so that the hubs know which objects to which the gets and sets are directed. The MIB also defines what type of data, e.g., floating point, 4-byte integer etc., is output by an object or what type of data to write to an object. The hubs in the network serve as the servers which serve the objects in the network to the NMS software. Every hub has a MIB which lists the objects which can be viewed and controlled by the NMS software process.